package ventanas;

import java.awt.Frame;
import java.awt.KeyboardFocusManager;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

import recursos.TextFilterDocument;
import controlador.InventarioController;
import bean.Anaquel;
import bean.Articulo;
import bean.Detalle;


public class FIDetalleMovimientoAlmacen extends JDialog{
	private static final long serialVersionUID = 1L;
	private JButton btnAceptar;
	private JButton btnCancelar;
	private JTextField txtCodigo;
	private JTextField txtDescripcion;
	private JTextField txtEquivalente;
	private JTextField txtUnidadMedida;
	private JTextField txtCantidad;
	private JTextField txtFila;
	private JTextField txtColumna;
	private JTextField txtPrioridad;
	private JLabel lblArticulo;
	private JLabel lblDescripcin;
	private JLabel lblEquivalente;
	private JLabel lblUMed;
	private JLabel lblCantidad;
	private JLabel lblAnaquel;
	private JLabel lblFila;
	private JLabel lblColumna;
	private JLabel lblPrioridad;
	private JInternalFrame iframe;
	private int operacion;
	private int indice;
	private TextFilterDocument tfdCodigo = new TextFilterDocument(10);
	private TextFilterDocument tfdUMed = new TextFilterDocument(3);
	private TextFilterDocument tfdCantidad = new TextFilterDocument(TextFilterDocument.DIGITS+TextFilterDocument.PUNTO,12);
	private TextFilterDocument tfdAnaquel = new TextFilterDocument(10);
	private TextFilterDocument tfdFila = new TextFilterDocument(7);
	private TextFilterDocument tfdColumna = new TextFilterDocument(7);
	private TextFilterDocument tfdPrioridad = new TextFilterDocument(TextFilterDocument.DIGITS,6);
	private JTextField txtAnaquel;
	private String almacen;
	private String almacenV;
	
	@SuppressWarnings("unchecked")
	public FIDetalleMovimientoAlmacen(Frame frame,JInternalFrame iframe,String titulo,boolean modal,int operacion,int indice,String almacen,String almacenV) {
		super(frame,titulo);
		setVisible(true);
		setSize(651, 171);
		setLocationRelativeTo(iframe);
		getContentPane().setLayout(null);
		this.iframe = iframe;
		this.operacion=operacion;
		this.indice=indice;
		this.almacen=almacen;
		this.almacenV=almacenV;
		
		btnAceptar = new JButton("Aceptar");
		btnAceptar.setBounds(10, 98, 89, 23);
		getContentPane().add(btnAceptar);
		
		btnCancelar = new JButton("Cancelar");
		btnCancelar.setBounds(109, 98, 89, 23);
		getContentPane().add(btnCancelar);
		
		lblArticulo = new JLabel("Art\u00EDculo");
		lblArticulo.setBounds(10, 11, 56, 14);
		getContentPane().add(lblArticulo);
		
		lblDescripcin = new JLabel("Descripci\u00F3n");
		lblDescripcin.setBounds(277, 11, 127, 14);
		getContentPane().add(lblDescripcin);
		
		lblEquivalente = new JLabel("Equivalente");
		lblEquivalente.setBounds(97, 11, 121, 14);
		getContentPane().add(lblEquivalente);
		
		txtCodigo = new JTextField();
		txtCodigo.setBounds(10, 25, 80, 20);
		txtCodigo.setDocument(tfdCodigo);
		txtCodigo.setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,
                java.util.Collections.EMPTY_SET);
		getContentPane().add(txtCodigo);
		
		txtDescripcion = new JTextField();
		txtDescripcion.setBounds(277, 25, 348, 20);
		txtDescripcion.setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,
                java.util.Collections.EMPTY_SET);
		getContentPane().add(txtDescripcion);
		
		txtEquivalente = new JTextField();
		txtEquivalente.setBounds(97, 25, 170, 20);
		txtEquivalente.setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,
                java.util.Collections.EMPTY_SET);
		getContentPane().add(txtEquivalente);
		
		lblUMed = new JLabel("U. Med.");
		lblUMed.setBounds(10, 49, 56, 14);
		getContentPane().add(lblUMed);
		
		txtUnidadMedida = new JTextField();
		txtUnidadMedida.setBounds(10, 64, 56, 20);
		txtUnidadMedida.setDocument(tfdUMed);
		getContentPane().add(txtUnidadMedida);
		
		txtCantidad = new JTextField();
		txtCantidad.setBounds(71, 64, 86, 20);
		txtCantidad.setDocument(tfdCantidad);
		getContentPane().add(txtCantidad);
		
		lblCantidad = new JLabel("Cantidad");
		lblCantidad.setBounds(71, 49, 66, 14);
		getContentPane().add(lblCantidad);
		
		lblAnaquel = new JLabel("Anaquel");
		lblAnaquel.setBounds(167, 49, 61, 14);
		getContentPane().add(lblAnaquel);
		
		lblFila = new JLabel("Fila");
		lblFila.setBounds(342, 49, 46, 14);
		getContentPane().add(lblFila);
		
		lblColumna = new JLabel("Columna");
		lblColumna.setBounds(414, 49, 75, 14);
		getContentPane().add(lblColumna);
		
		lblPrioridad = new JLabel("Prioridad");
		lblPrioridad.setBounds(252, 49, 75, 14);
		getContentPane().add(lblPrioridad);
		
		txtFila = new JTextField();
		txtFila.setBounds(342, 64, 66, 20);
		txtFila.setDocument(tfdFila);
		getContentPane().add(txtFila);
		
		txtColumna = new JTextField();
		txtColumna.setBounds(414, 64, 66, 20);
		txtColumna.setDocument(tfdColumna);
		getContentPane().add(txtColumna);
		
		txtPrioridad = new JTextField();
		txtPrioridad.setBounds(252, 64, 86, 20);
		txtPrioridad.setDocument(tfdPrioridad);
		getContentPane().add(txtPrioridad);
		
		txtAnaquel = new JTextField();
		txtAnaquel.setBounds(167, 64, 75, 20);
		txtAnaquel.setDocument(tfdAnaquel);
		txtAnaquel.setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,
                java.util.Collections.EMPTY_SET);
		getContentPane().add(txtAnaquel);

	}
	
	public void setDetalle(Detalle detalle){
		txtCodigo.setText(detalle.getArticulo());
		txtEquivalente.setText(detalle.getEquivalente());
		txtDescripcion.setText(detalle.getDescripcion());
		txtCantidad.setText(detalle.getCantidad()+"");
		txtPrioridad.setText(detalle.getPrioridad()+"");
		txtAnaquel.setText(detalle.getAnaquel());
		txtFila.setText(detalle.getFila());
		txtColumna.setText(detalle.getColumna());
		txtUnidadMedida.setText(detalle.getUmed());
	}
	
	public int getOperacion() {
		return operacion;
	}

	public void setOperacion(int operacion) {
		this.operacion = operacion;
	}
		
	public int getIndice() {
		return indice;
	}

	public void setIndice(int indice) {
		this.indice = indice;
	}

	public JButton getBtnAceptar(){
		return btnAceptar;
	}
	
	public JButton getBtnCancelar(){
		return btnCancelar;
	}
	
	public JTextField getTxtCodigo(){
		return txtCodigo;
	}
	
	public JTextField getTxtAnaquel(){
		return txtAnaquel;
	}
	
	public JTextField getTxtDescripcion(){
		return txtDescripcion;
	}
	
	public JTextField getTxtEquivalente(){
		return txtEquivalente;
	}
	
	public String getCodigo(){
		return txtCodigo.getText().trim().toUpperCase();
	}
	
	public String getDescripcion(){
		return txtDescripcion.getText().trim().toUpperCase();
	}
	
	public String getEquivalente(){
		return txtEquivalente.getText().trim().toUpperCase();
	}
	
	public String getUMedida(){
		return txtUnidadMedida.getText().trim().toUpperCase();
	}
	
	public String getCantidad(){
		return txtCantidad.getText().trim();
	}
	
	public String getPrioridad(){
		return txtPrioridad.getText().trim();
	}
	
	public String getAnaquel(){
		return txtAnaquel.getText().trim().toUpperCase();
	}
	
	public String getFila(){
		return txtFila.getText().trim();
	}
	
	public String getColumna(){
		return txtColumna.getText().trim();
	}
	
	public void setArticulo(Articulo articulo){
		txtCodigo.setText(articulo.getArtcod());
		txtDescripcion.setText(articulo.getArtdes());
		txtEquivalente.setText(articulo.getArtequ());
		txtUnidadMedida.setText(articulo.getArtmed());
		txtCantidad.requestFocus();
	}
	public void setAnaquel(Anaquel anaquel) {
		txtAnaquel.setText(anaquel.getAncodi());
		txtPrioridad.setText(anaquel.getAnprio()+"");
		txtFila.requestFocus();
	}	
	
	public void limpiarCampos(){
		txtCodigo.setText("");
		txtDescripcion.setText("");
		txtEquivalente.setText("");
		txtUnidadMedida.setText("");
		txtCodigo.requestFocus();
	}
	
	public JInternalFrame getIFrame(){
		return iframe;
	}
	
	public void setControlador(InventarioController controlador){
		btnAceptar.addActionListener(controlador);
		btnCancelar.addActionListener(controlador);
		txtCodigo.addMouseListener(controlador);
		txtCodigo.addKeyListener(controlador);
		txtDescripcion.addMouseListener(controlador);
		txtDescripcion.addKeyListener(controlador);
		txtEquivalente.addMouseListener(controlador);
		txtEquivalente.addKeyListener(controlador);
		txtAnaquel.addKeyListener(controlador);
		txtAnaquel.addMouseListener(controlador);
	}

	public String getAlmacen() {
		return almacen;
	}
	
	public String getAlmacenV() {
		return almacenV;
	}

}
